# 定义问题的数据格式
# 诗仙是谁、中国第一个朝代、三十六计的第一计是什么、天府之国是中国的哪个地方、中国第一长河，答案分别是李白、夏朝、瞒天过海、四川、长江
problem_dict = {
    '诗仙是谁': '李白',
    '中国第一个朝代': '夏朝',
    '三十六计的第一计是什么': '瞒天过海',
    '天府之国是中国的哪个地方': '四川',
    '中国第一长河': '长江'
}

def train(question, answer):
    # 增加问题
    if question.strip() == '':
        print('小智：请输入正确的问题')
    else:
        # 添加/修改，这个不叫修改全局变量
        problem_dict.update({question: answer})

def chat(question):
    if question.strip() == '':
        print('小智：请输入正确的问题')
    elif question in problem_dict.keys():
        answer = problem_dict[question]  # 获取答案
        print(f'小智：{answer}')
    else:
        print('小智：我还不会回答这个问题，请先训练我！')

# 训练 => 输入问题和答案存入字典
# 聊天 => 输入问题，系统回答，字典根据key查value
while True:
    input_type = input('小智：请选择：聊天(c)、训练对话(t)、离开(l)\n我：')
    if input_type == 'c':
        q = input('小智：请输入问题\n我：')
        chat(q)
    elif input_type == 't':
        q = input('小智：请输入问题\n我：')
        a = input('小智：请输入问题的答案\n我：')
        train(q, a)
    elif input_type == 'l':
        print('小智：您已退出，欢迎下次光临！')
        break
    else:
        print('小智：输入错误，请重新选择')